package common.events 
{
	import flash.events.Event;
	
	 /// @eventType = common.events.PropertyEvent.CHANGE
	[Event(name = "PropertyEvent.CHANGE", type = "common.events.PropertyEvent")]

	
	/**
	 * TODO: document
	 * 
	 * @author Luke Van In
	 */
	public class PropertyEvent extends Event
	{
		
		
		// constants
		public static const CHANGE:String = "PropertyEvent.CHANGE";
		
		
		// private variables
		private var _property:String;
		
		
		
		/**
		 * Property which changed
		 */
		public function get property():String
		{
			return this._property;
		}
		
		
		
		/**
		 * Constructor
		 * 
		 * @param	type
		 * @param	property
		 */
		public function PropertyEvent(type:String, property:String) 
		{
			super(type)
			
			this._property = property;
		}
		
		
		
		/**
		 * Creates and returns a copy of this event
		 * 
		 * @return
		 */
		override public function clone():Event 
		{
			return new PropertyEvent(this.type, this.property);
		}
		
		
	}

}